﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using AccesoData;
using Entidades;
using Logica.Interfaces;

namespace Logica.Comandos.Poliza
{
    public class ComandoAgregarPoliza: Comando, IAgregable
    {
        #region Overrides of Comando

        public override void Ejecutar()
        {
            throw new NotImplementedException();
        }

        #endregion

        #region Implementation of IAgregable

        public int Ejecutar(Aseguradora aseguradora)
        {
            throw new NotImplementedException();
        }

        public int Ejecutar(Entidades.Cliente cliente)
        {
            throw new NotImplementedException();
        }

        public int Ejecutar(Inspeccion inspeccion, Aseguradora aseguradora)
        {
            throw new NotImplementedException();
        }

        public int Ejecutar(Entidades.Lugar lugar)
        {
            throw new NotImplementedException();
        }

        public int Ejecutar(Personal personal)
        {
            throw new NotImplementedException();
        }

        public int Ejecutar(Recaudo recaudo)
        {
            throw new NotImplementedException();
        }

        public int Ejecutar(RecaudoInspeccion recaudoInspeccion)
        {
            throw new NotImplementedException();
        }

        public int Ejecutar(Entidades.Ramo ramo)
        {
            throw new NotImplementedException();
        }

        public int Ejecutar(Entidad recaudo, Entidad ramo)
        {
            throw new NotImplementedException();
        }

        public int Ejecutar(DetalleEstimado detalle)
        {
            throw new NotImplementedException();
        }

        public int Ejecutar(Entidades.Siniestro siniestro)
        {
            throw new NotImplementedException();
        }

        public int Ejecutar(Entidades.Sucursal sucursal)
        {
            throw new NotImplementedException();
        }

        #endregion

        /// <summary>
        /// Agrega una poliza en la base de datos
        /// </summary>
        /// <param name="poliza"></param>
        /// <returns>id de la poliza almacenada</returns>
        public int Ejecutar(Entidades.Poliza poliza)
        {
            try
            {
                
                return DAO.ObtenerFabrica(1).ObtenerDaoPoliza().AgregarPoliza(poliza);
            }
            catch (Exception)
            {

                return -1;
            }
        }
    }
}
